﻿using System;
using Autodesk.Revit.DB;

namespace YJKSparseDistance.ModelLayer
{
	public class WallLocationCurveBean
	{
		public int WallId
		{
			get
			{
				return this.m_WallId;
			}
			private set
			{
				this.m_WallId = value;
			}
		}

		public int LinkInstanceId
		{
			get
			{
				return this.m_LinkInstanceId;
			}
			private set
			{
				this.m_LinkInstanceId = value;
			}
		}

		public Curve UseCurve
		{
			get
			{
				return this.m_useCurve;
			}
			private set
			{
				this.m_useCurve = value;
			}
		}

		public WallLocationCurveBean(int wallId, int linkInstanceId, Curve inputCurve)
		{
			this.WallId = wallId;
			this.LinkInstanceId = linkInstanceId;
			this.UseCurve = inputCurve;
		}

		public override bool Equals(object obj)
		{
			if (obj is WallLocationCurveBean)
			{
				WallLocationCurveBean wallLocationCurveBean = obj as WallLocationCurveBean;
				return wallLocationCurveBean != null && (this.WallId == wallLocationCurveBean.WallId && this.LinkInstanceId == wallLocationCurveBean.LinkInstanceId);
			}
			return false;
		}

		public override int GetHashCode()
		{
			return base.GetHashCode();
		}

		public bool Equals(WallLocationCurveBean x, WallLocationCurveBean y)
		{
			return x.Equals(y);
		}

		public int GetHashCode(WallLocationCurveBean obj)
		{
			return obj.GetHashCode();
		}

		private int m_WallId = -1;

		private int m_LinkInstanceId = -1;

		private Curve m_useCurve;
	}
}
